package cn.school.student.service;

import cn.school.student.entity.ExamInfoChartLine;
import cn.school.student.entity.StudentExamInfo;
import cn.school.student.vo.ExamInfoVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public interface ExamInfoService {
    /**
     * 分页查询考试内容
     * @param vo
     * @return
     */
    IPage<ExamInfoVO> findExamInfoPageList(ExamInfoVO vo);

    /**
     * 新增or修改考试信息
     * @param vo
     * @return
     */
    int addOrUpdateExamInfo(ExamInfoVO vo);

    /**
     * 删除考试信息
     * @param id
     * @return
     */
    int deleteExamInfoById(String id);

    /**
     * 批量删除考试信息
     * @param list
     * @return
     */
    int deleteBatchExamInfo(List<ExamInfoVO> list);

    /**
     * 批量修改考试信息状态
     * @param list
     * @return
     */
    int updateBatchExamInfo(List<ExamInfoVO> list);
	
    /**
     * 根据学生id查询考试成绩信息
     * @author alex
     * @param: studentId
     * @date 2023/5/15 14:40
     * @return
     */
    List<StudentExamInfo> getGradesByStudentId(String studentId);
    
    /**
     * 获取科目成绩走线图
     * @author alex
     * @param: studentId
     * @date 2023/5/17 16:17
     * @return
     */
    List<ExamInfoChartLine> getGradesLineChart(String studentId);

    /**
     * 导入考试信息
     * @param inputStream
     * @param vo
     * @return
     */
    String importExcel(InputStream inputStream,ExamInfoVO vo) throws IOException;
}
